星巡研究院

渗透视角下的二进制安全

### 挖掘 - 1 Fuzzing 原理 #### 1. 链路定位 * 在整册链路中的位置:从 "打已知漏洞" 跨到 "找未知漏洞" 的入口,用机器持续造输入观察异常。 * 作用:理解覆盖率引导如何决定保留哪些变异样本。 #### 2. 前置知识 * 基本块与边(edge)覆盖概念。 * 变异(bit flip / 字节替换)与字典 / 语法导向生成。 #### 3. 技术原理 * 覆盖率引导 Fuzzing:插桩在每条基本块边记录是否经过,结果写进共享内存。引擎跑完一个样本读覆盖位图,只把 "带来新边" 的样本留进队列,再对它们变异。无新覆盖的样本丢弃。变异分盲变异(翻转比特、替换字节)与语法 / 字典导向(按协议字段、魔值字典改),后者能穿过格式校验。 * 【配置缺陷】目标未做长度 / 格式校验、异常处理未覆盖全路径、种子集质量差。【源码漏洞】输入解析边界检查缺失。 * 变异生成与边命中判定:队列样本是一份具体字节,变异器在副本上改动不动原样本。盲变异翻转比特、替换边界字节,字典变异按字段只改魔值 / 类型 / 长度内值而保持外层结构,不被头部校
这是进阶内容

升级理论包获取本册全部章节,从机器本质系统入门